using System;

namespace CodeBackpack.Plist
{
    [NoTestCoverage]
    public abstract class PropertyListWriter : IDisposable
    {
        public virtual void Dispose() {}
        public abstract void WriteProlog();
        public abstract void WriteEpilog();
        public abstract void WriteScalar(byte[] value);
        public abstract void WriteScalar(String value);
        public abstract void WriteScalar(int value);
        public abstract void WriteScalar(long value);
        public abstract void WriteScalar(double value);
        public abstract void WriteScalar(DateTime value);
        public abstract void WriteScalar(bool value);
        public abstract void WriteListStart();
        public abstract void WriteDictStart();
        public abstract void WriteContainerEnd();
        public abstract void WriteDictKey(String key);
    }
}